"OnAfterData" događaj
"OnAfterData" događaj
Ovaj događaj se aktiviranakon što je objekat izveštaja popunjen podacima iz izvora na koji je povezan. Koristite ovaj događaj za pristup vrednosti polja baze podataka ili izrazu koji se nalazi u objektu. Ova vrednost se smešta u sistemsku promenljivu “Value” koja je dostupna samo u ovom događaju. Dakle, ako dva objekta “Text” sadrže izraze [Table1.“Field1”] i [<Table2.“Field1”> + 10], vrednosti ovih izraza mogu se koristiti pozivanjem promenljive “Value” za objekte:
ako Value > 3000 onda
Memo1.Color := clRed
što je jednostavnije od pisanja nečega poput ovoga:
ako <Table1."Field1"> > 3000 onda
Memo1.Color := clRed
Korišćenje “Value” umesto izraza omogućava vam da napišete jedan višenamenski handler za “OnAfterData” događaj koji se može povezati sa nekoliko objekata.
Molimo vas da obratite pažnju na nešto drugo - ako objekat sadrži nekoliko izraza (na primer '[expr1] [expr2]'), vrednost poslednjeg izraza se prenosi u promenljivu “Value”.
“OnAfterData” događaj je idealan za izračunavanje visine i širine objekata kao što je “Text”. To jest, ako je potrebna tačna visina rastegnutog “Text” objekta koji sadrži izraz u skripti, možete koristiti ovaj kod u “OnAfterData” događaju:
var
MemoHeight: Extended;
početak
MemoHeight := TfrxMemoView(Sender).CalcHeight;
kraj;
Ako bi se ovaj kod koristio u “OnBeforePrint” događaju, rezultat bi bio visina objekta koji sadrži izraz pre nego što se izraz evaluira, a ne njegova stvarna vrednost prilikom štampanja.